#ifndef INCLUDEGCC_H
#define INCLUDEGCC_H


#	pragma message("platform/compiler config: GCC")

//#include <windows.h>

//STL


#	include <cstddef>
#	include <string>
#	include <ext/hash_map>

	namespace __gnu_cxx {

		template<>
		struct hash< std::string > {
			size_t operator()(const std::string& s) const {
				const std::collate< char >& c = std::use_facet< std::collate< char > >(std::locale::classic());
				return c.hash(s.c_str(), s.c_str() + s.size());
			}
        };

        template<>
		struct hash< const std::string > {
			size_t operator()(const std::string& s) const {
				const std::collate< char >& c = std::use_facet< std::collate< char > >(std::locale::classic());
				return c.hash(s.c_str(), s.c_str() + s.size());
			}
        };
	}
    namespace ext	=	__gnu_cxx;


#endif

